Methods and systems for recording operating information of an electronically commutated motor

ABSTRACT

A motor controller for an electric motor includes an enclosure and a processing device, memory device, and communication interface disposed within the enclosure. The processing device is configured to control the electric motor and collect operating information from the electric motor during operation of the electric motor. The memory device is communicatively coupled to the processing device. The memory device is configured to receive and store the operating information collected during operation of the electric motor. The communication interface is communicatively coupled to the processing device and the memory device, and is configured to enable access to the operating information stored on the memory device by a computing device disposed remotely from the electric motor.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/567,570 filed Sep. 11, 2019, which is a continuation of U.S. Pat. No. 10,447,193 filed Aug. 23, 2018, which is a continuation of U.S. Pat. No. 10,069,451, filed Mar. 16, 2017, which is a continuation of to U.S. Pat. No. 9,621,080, filed Dec. 15, 2015, which is a continuation of U.S. Pat. No. 9,236,819, filed on Jan. 28, 2014, which is a continuation of U.S. Pat. No. 8,749,927, filed Aug. 17, 2012, which is a continuation of U.S. Pat. No. 8,269,448, filed Jan. 15, 2010, which is a continuation of U.S. Pat. No. 7,675,257, filed Mar. 9, 2007, all of which are hereby incorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION

This invention relates generally to electronically commutated motors, and more specifically, to methods and systems for recording operating information of an electronically commutated motor.

Power control systems for electronically commutated motors (ECM), sometimes referred to as brushless direct current (DC) motors, are utilized to control the operation of ECMs. More specifically, a processing device such as a microcontroller may be utilized in a power control system to control the operation of ECMs. Occasionally, in some cases because of the speeds, loads, and voltages involved with ECM operation, an ECM or power control system may fail.

A common failure mode for microcontroller based power control systems is a cascading type failure. This type of failure may begin with a power switch failure, which may allow a low voltage circuit, such as a power control system, to be overloaded by a high voltage and fail.

BRIEF DESCRIPTION OF THE INVENTION

In one aspect, a unit for recording operating information of an electronically commutated motor (ECM) is provided. The unit includes a system controller communicatively coupled to an ECM. The system controller includes a processing device configured to control the unit. The unit also includes a memory device communicatively coupled to the system controller. The memory device is configured to receive and store ECM operating information provided by the processing device.

In another aspect, a method for providing a system to record operating information of an electronically commutated motor (ECM) is provided. The method includes configuring a processing device to collect operating data from an ECM, configuring the processing device to identify at least one of an ECM failure and a system controller failure, and configuring a memory device to receive and store the ECM operating data after at least one of an ECM failure, a system controller failure, and a user provided shut-down instruction.

In yet another aspect, a motor system is provided. The system includes an electronically commutated motor (ECM), a controller communicatively coupled to the ECM, the controller includes a processing device configured to control operation of the ECM, and a memory device communicatively coupled to the processing device. The memory device is configured to receive and store operating information collected by said processing device.

In yet another aspect, a method for recording operating information of an electronically commutated motor (ECM) is provided. The method includes collecting operating data from the ECM, identifying at least one of an ECM failure and a system controller failure, and storing the ECM operating data after identifying at least one of an ECM failure, a system controller failure, and a user provided power-down instruction.

In another aspect, a motor controller for an electric motor includes an enclosure and a processing device, memory device, and communication interface disposed within the enclosure. The processing device is configured to control the electric motor and collect operating information from the electric motor during operation of the electric motor. The memory device is communicatively coupled to the processing device. The memory device is configured to receive and store the operating information collected during operation of the electric motor. The a communication interface is communicatively coupled to the processing device and the memory device, and is configured to enable access to the operating information stored on the memory device by a computing device disposed remotely from the electric motor.

In another aspect, a method of collecting operating information for an electric motor is provided. The method includes controlling, by a processing device disposed local to the electric motor, operation of the electric motor to generate the operating information. The method includes writing the operating information to a memory device disposed local to the electric motor. The method includes transmitting the operating information to a computing device disposed remotely from the electric motor and coupled to the electric motor via a communication interface, for at least one of storage or display at the computing device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an electronically commutated motor (ECM) coupled to a motor controller.

FIG. 2 is a schematic diagram of a recording system, including a processing device and a memory device.

FIG. 3 is a block diagram of a method of recording ECM operating data.

FIG. 4 is a block diagram of a method of recording ECM operating data.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is an illustration of an electronically commutated motor (ECM) control assembly 10 including a control module 12, an ECM 14 (also referred to as a permanent magnet DC brushless motor) and an end shield 16. When fully assembled, end shield 16 and the components mounted thereon, are mechanically coupled to a motor shell 17. Control module 12 includes a printed circuit board (not shown in FIG. 1) enclosed within an enclosure 18. In one embodiment, the printed circuit board includes a processing device, for example a microprocessor, configured to control output signals from the printed circuit board in order to control the operating characteristics of ECM 14.

In another embodiment, the printed circuit board is populated with a plurality of electronic components (not shown) coupled to the printed circuit board and each other to control output signals from the printed circuit board in order to control the operating characteristics of ECM 14. The configuration of the microprocessor and the electronic components is variable, based on at least one requirement of a user. In an exemplary embodiment, control module 12 is mounted remotely from ECM 14 and end shield 16. In another embodiment, control module 12 is mounted to an external surface of ECM 14. In yet another embodiment, a plurality of control modules are electrically coupled serially such that each control module is configured to control a motor operating characteristic.

Control module 12 is electrically coupled to end shield 16 by a cable 22. Also, end shield 16 is electrically coupled to ECM 14 by cables. Control module 12 is also electrically coupled to a user's power supply and interface circuitry (not shown in FIG. 1). The components mounted on end shield 16 include, in an exemplary embodiment, a bridge inverter 24 which is electrically coupled to a gate drive circuit 26. Bridge inverter 24 and gate drive circuit 26 are electrically coupled to at least one power switch 30. Gate drive circuit 26 is electrically coupled to a motor rotor position sensing circuit (not shown in FIG. 1) by a cable 34. Gate drive circuit 26 is also electrically coupled to ECM 14 by a cable 36.

In an exemplary embodiment, ECM 14 includes a single phase salient pole stator assembly, indicated generally at 38, including a stator core 40 formed from a stack of laminations made of a highly magnetically permeable material, and windings (not shown) of magnet wire wound on stator core 40 in a way known to those of ordinary skill in the art. A rotor 44 includes a rotor core (not shown) formed from a stack of laminations made of a magnetically permeable material substantially received in a central bore of stator core 40. Rotor 44 and stator 38 are illustrated as being solid in FIG. 1 for simplicity, their construction being well known to those of ordinary skill in the art. While FIG. 1 is an illustration of a single phase ECM and associated control circuitry, three phase ECMs and similar associated control circuitry are also known.

FIG. 2 is a schematic diagram of a recording system 100 including a processing device 102, a memory device 104, and a protective circuit 106. Memory device 104 is communicatively coupled to processing device 102. In one embodiment, recording system 100 is positioned within control module 12 and on the printed circuit board (not shown in FIG. 1) described above. Processing device 102 is a part of an ECM controller that controls the operation of an ECM. In one example, processing device 102 is communicatively coupled to a device that shifts the logic level switching signals output by processing device 102 to the level of voltage used by power switches that provide power to an ECM.

In the embodiment shown in FIG. 2, processing device 102 is a PIC17C44 8-bit CMOS EPROM/ROM Microcontroller, available from Microchip Technology Inc. of Chandler, Ariz. However, as used herein, the term processing device, as in processing device 102, is not limited to just those integrated circuits referred to in the art as a processing device, but broadly refers to: a processor, a microprocessor, a digital signal processor, a controller, a microcontroller, a programmable logic controller, an application specific integrated circuit, and other programmable circuits.

Processing device 102 includes a Random Access Memory (RAM) configured to temporarily store predetermined operating information. Memory device 104 is configured to receive and store data from processing device 102. The data from processing device 102 may be transferred to memory device 104 directly after it is received by processing device 102 or transferred to memory device 104 after being temporarily stored in the RAM of processing device 102.

Recording system 100 also includes a communications interface 46 (shown in FIG. 1) that is configured to allow a user to access the data stored by memory device 104 therethrough. In an exemplary embodiment, a cable 48 is connected to communications interface 46 and in communication with a computing device 50, for example, a personal digital assistant (PDA) or a personal computer. Once connected, the data stored by memory device 104 is downloaded to computing device 50 for viewing and analysis by a user. Communications interface 46 may additionally or alternatively include a wireless transmitter 52, for example, a radio transmitter. Computing device 50 may be configured to establish a connection with wireless transmitter 52 and download the data stored by memory device 104 to computing device 50. In yet another embodiment, communications interface 46 is configured to connect recording system 100 to a network (not shown) via a network connector 54. A user that is able to access the network may also access the contents of memory device 104.

In operation, the data stored by memory device 104 is accessed by a user, in one embodiment, specifically so that a user can recover a record of operating conditions prior to a failure, for example, at least one of an ECM failure or an ECM controller failure. A record of the conditions prior to a failure allows a user to analyze the cause of the failure, diagnose a specific area within a motor and motor control system to fix or replace, and prevent future failures through adjustments to failure-causing parts.

In an exemplary embodiment, processing device 102 updates a record of motor operating conditions at periodic intervals and stores those records in the RAM of processing device 102. The periodic intervals are chosen such that the conditions prior to a failure can be recovered and analyzed. Processing device 102 also detects when a failure is occurring or has occurred. Once a failure is detected, processing device 102 will not overwrite the data stored in the RAM so that the conditions prior to the failure can be recovered and analyzed.

In one embodiment, the RAM in processing device 102 stores historic information about conditions predetermined by a user to be of interest, for example, unusual conditions or events. These unusual conditions or events may include, but are not limited to, a peak control module temperature, a fault detection event count, and a start failure count.

In operation, processing device 102 transfers the information stored in the RAM to memory device 104. The transfer of the information stored in the RAM to memory device 104 may occur at a set time interval, at a power-down, or when a failure is detected by processing device 102. A power-down occurs when the power supply to the recording system is interrupted.

In an exemplary embodiment the data received and stored by memory device 104 may include, but is not limited to, a total powered time of the ECM, a total run time of the ECM, a total time operated in a cutback region, a total time over a preset thermal limit, a total number of run cycles, temperature extremes, a last operating torque level, a last operating bus voltage, a last operating speed, a last control module temperature, a count of fault events, a count of reset cycles, a count of oscillator stop events, a count of stall events, and “scratch-pad” events.

Memory device 104 may also be provided with, and store, production process information. This information may be copied to memory device 104 at the completion of a memory test, and may include a copy of a factory calibration including passmarks and other process records. The production process information is stored by memory device 104 so that the information will not be lost in the case of a catastrophic failure.

As stated above, the total powered time of an ECM may be received and stored by memory device 104. The total powered time of an ECM is the total length of time that the ECM has received power. In an exemplary embodiment, RAM variables for powered time are incremented within processing device 102 at each pass through a main program loop. This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

The total run time of an ECM is the total length of time that the ECM has operated at or above a preset threshold. In an exemplary embodiment, RAM variables for run time are incremented if the motor is running and the product of speed and torque meets or exceeds a preset threshold (e.g., approximately 80% of full power). This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

The total time in a cutback region is the total length of time that the ECM has operated at a speed that exceeds a preset rate of speed. In an exemplary embodiment, RAM variables for time in the cutback region are incremented if the ECM is running and the speed exceeds the preset rate of speed (e.g., approximately 80% of the speed when ECM is operating at full power). This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

The total time over a thermal limit is the total length of time that the ECM has operated with the ECM baseplate temperature exceeding a preset thermal limit. In an exemplary embodiment, RAM variables for total time over a thermal limit are incremented if the motor is running and the ECM baseplate temperature exceeds the thermal limit setting. This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

The total run cycles of an ECM is a count of the number of times an ECM is started. In an exemplary embodiment, RAM variables for operating cycles are incremented every time a start is successful. This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

Examples of the temperature extremes that may be stored are a minimum and a maximum ECM temperature. In an exemplary embodiment, a value representing the minimum ECM temperature and a value representing the maximum ECM temperature are saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure. In an exemplary embodiment, the values representing the minimum ECM temperature and the maximum ECM temperature are stored in the form of RAM words.

The last operating torque level may also be stored by memory device 104. In an exemplary embodiment, a value representing the last measured torque level before operation ceased is saved to memory device 104 at a power-down of control module 12 or at the time of a detected failure. In an exemplary embodiment, the value representing the last measured torque level before operation ceased is stored in the form of a RAM word.

The last operating bus voltage may also be stored by memory device 104. In an exemplary embodiment, a value representing the last measured bus voltage is saved to memory device 104 at a power-down of control module 12 or at the time of a detected failure. The decision to store this data is made when the bus voltage has fallen below a preset limit, so an older copy of the bus voltage measurement must be used. In an exemplary embodiment, approximately once every 936 ms, a bus voltage reading is stored in a three level memory buffer so that the history of the bus voltage is available, and the peak bus voltage may be selected and saved to memory device 104.

A last operating speed may also be stored by memory device 104. In an exemplary embodiment, a value representing the last operating speed is saved to memory device 104 at a power-down of control module 12 or at the time of a detected failure. In an exemplary embodiment, the value representing the last operating speed is stored in the form of a RAM word.

A last module temperature may also be stored by memory device 104. In an exemplary embodiment, a value representing the last module temperature is saved to memory device 104 at a power-down of control module 12 or at the time of a detected failure. In an exemplary embodiment, the value representing the last module temperature is stored in the form of a RAM word.

A count of fault events may also be stored by memory device 104. In an exemplary embodiment, RAM variables for fault events are incremented every time a fault intervention runs. Examples of a fault event include, but are not limited to, a circuit connection failure, a component failure, and a software failure. This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

A count of reset cycles may also by stored by memory device 104. In an exemplary embodiment, RAM variables for reset cycles are incremented each time the initialization routine runs. This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

A count of oscillator stop events may also be stored by memory device 104. In an exemplary embodiment, RAM variables for oscillator failure are incremented each time the clock fail interrupt runs. This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

A count of stall events may also be stored by memory device 104. In an exemplary embodiment, RAM variables for operating cycles are incremented every time a start is unsuccessful. This information is saved to memory device 104 at, for example, a power-down of recording system 100 or at the time of a detected failure.

Each type of information stored by memory device 104 may be stored separately, but also may be stored in groups. For example, a section of memory in memory device 104 may be used to store a pairing of different types of information. Relevant information may be extracted from not only each individual type of information, but also from the results of a comparison of different types of information. In an exemplary embodiment, a measured value may be paired with a representation of the time that the measured value was obtained.

Memory device 104 may also provide storage of miscellaneous information. Storage of miscellaneous information, which may include any information a user would like to store, is referred to herein as a scratch-pad memory function of memory device 104. The miscellaneous information may include information about the system controller which can be used by a successor system controller in the case the original system controller is replaced. The information about the system controller may also identify and track the motors that have been connected to the system controller.

In an exemplary embodiment, at least sixteen blocks (16 byte size) of memory within memory device 104 are reserved for the scratch-pad memory function. The scratch-pad memory function is used by the customer for storage and retrieval of miscellaneous information via special serial commands that specify the block number where the particular information is stored. It is the responsibility of the system control designer to regulate this usage so that the write endurance of the part is not exceeded (e.g., 1 million cycles is typical for an EEPROM).

In the exemplary embodiment of FIG. 2, memory device 104 is an Electronically Erasable Programmable Read-Only Memory (EEPROM or E²PROM). EEPROM may be onboard processing device 102 or external to processing device 102. In an alternative embodiment, memory device 104 is a flash memory device. Furthermore, any type of non-volatile memory device capable of communicating with a processing device and storing data from a processing device may be used.

More specifically, processing device 102 may be a serial EEPROM. In an exemplary embodiment, shown in FIG. 2, an inter-integrated circuit (IIC) interface communicatively couples processing device 102 and memory device 104. In another exemplary embodiment (not shown in FIG. 2), a Serial Peripheral Interface (SPI) communicatively couples processing device 102 and memory device 104. An IIC interface requires one less connection between processing device 102 and memory device 104 than an SPI. The IIC interface may be advantageous because the one extra connection necessary for an SPI requires extra components within clamp circuit 106 and an extra pin available on both microcontroller 102 and memory device 104.

The transfer of the information stored in the RAM of processing device 102 to memory device 104 consumes processor time. In an exemplary embodiment, timer interrupts in the motor drive are allowed to run during a transfer of information between the RAM and the memory device 104. This ensures that motor operation is not interrupted by memory transfers. Copies of the information to be transferred are loaded onto the RAM and written back to the EEPROM at intervals or when the power is failing.

In an exemplary embodiment, the API functions have the form of a block move, performed discontinuously by means of multiple passes through a state machine. More specifically, the firmware environment has a main loop that contains a call to the state machine. If there is a transfer pending, some predetermined number of words is transferred, until enough passes have occurred to complete the range.

In this embodiment, the lower level operations are divided into separate calls, such that a single word transfer is done without going through the state machine simply by doing a series of subroutine calls. Dividing the lower level operations into separate calls allows usage of single words in the device without waiting for the main loop to do the transfer.

In an exemplary embodiment, write enable/disable functions are included inside the API functions. The memory device 104 is left in the write disabled state between function calls. The API function may define a maximum block transfer size allowed. In one embodiment, the API function defines the maximum block transfer size allowed only if the maximum block transfer size is less than 255. Processing device 102 performs a range check comparing a string length against the maximum block transfer size.

In this exemplary embodiment, the API may also define a number of words to transfer per each pass through the state machine. This allows the transfer rate to be adjusted in response to its environment.

The API may also include values for the highest and lowest RAM locations allowed. The processing device 102 is configured to terminate a transfer if the RAM destination address is outside this range.

In an exemplary embodiment, port pin data direction and level are saved at the beginning of a call and restored at the end. Saving in this manner allows the EEPROM interface to coexist with other functions.

Referring further to FIG. 2, protective circuit 106 limits the terminal voltage at memory device 104. Limiting the terminal voltage at memory device 104 prevents damage to memory device 104 and damage to information (i.e., loss of the information or corruption of the information) stored on memory device 104. Protective circuit 106 may be located anywhere within recording system 100, and may be composed of any component or combination of components, so long as recording system 100 is configured in such a way that memory device 104 survives a motor failure and/or a motor controller failure. Memory device 104 survives a motor failure and/or a motor controller failure when the information stored on memory device 104 is not lost or corrupted and is accessible to a user after a motor failure and/or a motor controller failure. Since one of the objectives of recording system 100 is to store operating conditions immediately before a failure, memory device 104 is protected from damage by high voltages through the inclusion of protective circuit 106.

In another exemplary embodiment, memory device 104 includes protective circuitry or at least one component configured to prevent damage to the information stored on memory device 104. As described above, during a motor or a motor controller failure, low voltage components may be exposed to voltages high enough to damage the low voltage components such as processing device 102 and memory device 104.

In an exemplary embodiment, protective circuit 106 is a clamp circuit. In the embodiment of FIG. 2, clamp circuit 106 includes a series impedance 110, 112, and 114 in each of the connections between memory device 104 and processing device 102 and also circuitry to limit the terminal voltage at memory device 104. In an exemplary embodiment, the circuitry to limit the terminal voltage at memory device 104 may be implemented with Zener diodes, such as Zener diode 116. In the exemplary embodiment of FIG. 2, four signal diodes 118, 120, 122 and 124 are connected with the data lines, and one Zener diode 116 is connected to the Vcc pins of processing device 102 and memory device 104. However, alternative configurations of protection circuits may be used, including a configuration using three Zener diodes (not shown in FIG. 2). The values of series impedances 110, 112, and 114 are chosen such that the fault currents conducted by signal diodes 118, 120, 122, and 124 will cause series impedances 110, 112, or 114 to open and protect memory device 104 by clearing the current path. As mentioned above, other types of serial EEPROM memory may use three or four data lines which would each be clamped in a similar manner in order to limit the terminal voltage at memory device 104.

FIG. 3 is a flow chart of a method 200 of storing information using recording system 100. Method 200 includes configuring processing device 102 to monitor ECM operation 202. As described above, motor operating information may be stored on memory device 104 and may include the total powered time, total run time, total run cycles, etc. Each type of operating information predetermined to be recorded is first monitored and collected by processing device 102.

Method 200 also includes storing 204 the operating information in the RAM of processing device 102. In one embodiment, processing device 102 collects one type of motor operation information and temporarily stores that piece of information in the RAM. After a predetermined time period, processing device 102 re-records the same type of motor operation information and replaces the previous information stored in the RAM with the more recently collected information. Updating the motor operation information as described above ensures that should a failure occur, the information is stored at a point in time that is close to the time of the failure.

In another example embodiment, processing device 102 collects one type of motor operation information and temporarily stores that piece of information in the RAM. After a predetermined time period, processing device 102 collects an updated version of the same type of motor operation information and compares it to the information stored in the RAM. Depending on how processing device 102 is configured, processing device 102 will either replace the older information with the updated version of the information, or continue to store the older information. Information such as temperature extremes (e.g. high and low ECM operating temperatures) are stored in the RAM in this manner.

In yet another exemplary embodiment, processing device 102 monitors one aspect of motor operation. When the aspect of motor operation being monitored by processing device 102 meets a specific criteria, a RAM variable is incremented to track the number of times that the aspect being monitored occurred or the length of time that the aspect being monitored occurred. Aspects of motor operation, for example, the number of reset cycles and the total time over a thermal limit are stored in the RAM in this manner.

Method 200 further includes determining 206 whether a motor or motor controller failure is occurring or has occurred. Determining 206 whether a motor or motor controller failure is occurring or has occurred includes configuring processing device 102 to recognize when a motor or motor controller failure is occurring or has occurred. When a failure is determined, method 200 includes transferring 208 the information stored in the RAM to the memory device for secure storage of pre-failure operating conditions.

Method 200 also includes scheduling 210 the transfer of the information stored in the RAM to the memory device 104. More specifically, method 200 includes transferring 208 the information stored in the RAM to memory device 104 after the expiration of a preset time period. If a failure is not determined, the processing device continues monitoring motor operation 202.

FIG. 4 is another embodiment of a method 220 of storing information using recording system 100. Method 220 is similar to method 200, however, method 220 includes processing device 102 directly transferring 222 motor operating information to memory device 104. Method 220 includes processing device 102 storing 224 certain predetermined information in the RAM of processing device 102, while also storing 222 certain predetermined information directly on memory device 104.

In an exemplary embodiment, processing device 102 may be configured to retrieve instructions from memory device 104. In an exemplary embodiment, processing device 102 is configured to retrieve instructions from a predetermined location within memory device 104 after a specific type of operating information monitored by processing device 102 reaches a predetermined measurement or count. Storing contingent operating instructions in memory device 104 allows control of the ECM to be customized automatically in response to a measured operating condition.

To summarize, a non-volatile memory is included in the associated circuitry of a processing device based ECM control. The memory allows the processing device to store information about the operating environment history of the motor. The operating environment history of the motor can be retrieved from the memory and analyzed after a motor or motor controller failure. The operating environment history of the motor can also be retrieved at any time from the memory and analyzed in order to aide a user in optimizing the system over time. The memory is protected from potentially damaging voltages by circuitry designed to limit voltage. The protective circuitry protects the memory from the effects of a failure that may destroy the associated processing device or motor. Protecting the memory allows a user to retrieve from the memory the operating environment history of the motor from a time prior to the failure even after the destruction of the motor and/or the processing device.

Finally, the memory and processing device together provide a secondary storage medium for information that is useful to the system controller. The processing device may be configured to retrieve operating instructions from the memory after receiving a predetermined level or count of a particular type of operating data the processing device had been monitoring.

The term “user”, as used herein, includes a human operator, as well as systems and applications. Therefore, the term user is not limited to being a human, and in many instances references a system or application that includes software operating on a processor. In addition, the terms “data”, “message”, “information”, and “file” are sometimes used herein interchangeably, and each of those terms broadly refer to information in any format.

While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims. 

What is claimed is:
 1. A motor controller for an electric motor, said motor controller comprising: an enclosure; a processing device disposed within said enclosure and configured to: control the electric motor; and collect operating information from the electric motor during operation of the electric motor; a memory device disposed within said enclosure and communicatively coupled to said processing device, said memory device configured to receive and store the operating information collected during operation of the electric motor; and a communication interface disposed within said enclosure and communicatively coupled to said processing device and said memory device, said communication interface configured to enable access to the operating information stored on said memory device by a computing device disposed remotely from the electric motor.
 2. The motor controller of claim 1, wherein said communication interface comprises a connector configured to receive a cable couplable to the computing device to form a direct physical connection with the computing device.
 3. The motor controller of claim 1, wherein said processing device is further configured to collect at least one of a voltage, a current, a torque, a time, a power, a temperature, or a speed.
 4. The motor controller of claim 1, wherein said processing device is further configured to collect data indicating a fault event has occurred.
 5. The motor controller of claim 1, wherein said processing device is further configured to update, in said memory device, the operating information at periodic intervals.
 6. The motor controller of claim 5, wherein said processing device is further configured to: detect a failure event has occurred; and suspend updating the operating information stored in said memory device.
 7. The motor controller of claim 1, wherein said memory device comprises at least one random access memory device.
 8. A method of collecting operating information for an electric motor, said method comprising: controlling, by a processing device disposed local to the electric motor, operation of the electric motor to generate the operating information; writing the operating information to a memory device disposed local to the electric motor; transmitting the operating information to a computing device disposed remotely from the electric motor and coupled to the electric motor via a communication interface, for at least one of storage or display at the computing device.
 9. The method of claim 8, further comprising connecting the electric motor to the computing device with a cable for transmission of the operating information via the cable.
 10. The method of claim 8 further comprising collecting at least one of a voltage, a current, a torque, a time, a power, a temperature, or a speed for the electric motor.
 11. The method of claim 8 further comprising collecting data from the electric motor indicating a fault event has occurred.
 12. The method of claim 8, wherein writing the operating information to the memory device comprises updating the operation information written to the memory device at period intervals.
 13. The method of claim 12, further comprising: detecting, by the processing device, that a failure vent has occurred; and suspending said updating.
 14. The method of claim 8, wherein writing the operating information to the memory device comprises writing to a random access memory device. 